package com.musictab.test.Decryption;

import java.io.File;
import java.io.IOException;

import org.springframework.util.FileCopyUtils;

public class DecryptionUtil {

	//计算总共改了多少个文件
	int count = 0;

	public DecryptionUtil() {

	}

	/**
	 * 改变文件名
	 */
	public int renameFile(String filepath, String regex) {

		File[] fileArray = ReadFileUtils.readfile(filepath, regex);

		for (File file : fileArray) {

			if (file.isDirectory()) {
				//递归
				renameFile(file.getAbsolutePath(), regex);

			} else {

				//获取路径
				String rootPath = file.getParent();

				String oldFileStr = file.getName();

				//文件名
				//String oldFileName = oldFileStr.substring(0, oldFileStr.lastIndexOf("."));

				//文件类型
				//String oldFileType = oldFileStr.substring(oldFileStr.lastIndexOf(".") + 1, oldFileStr.length());

				//新文件名
				String tempFileName = oldFileStr + ".xls";

				//临时文件
				File tempFile_xls = new File(rootPath + File.separator + tempFileName);

				//改成.xls
				file.renameTo(tempFile_xls);

				//生成.dat
				tempFileName = file.getName();

				File tempFile_dat = new File(rootPath + File.separator + oldFileStr + ".dat");

				//复制文件 成.dat
				try {
					FileCopyUtils.copy(tempFile_xls, tempFile_dat);
				} catch (IOException e) {

					e.printStackTrace();
				}

				//删除被改名为xls的临时文件
				tempFile_xls.delete();

				//				File newFile = new File(rootPath + File.separator + oldFileStr);
				//
				//				//变回原来的文件名，最终结果
				//				tempFile_dat.renameTo(newFile);

				count++;
			}
		}

		return count;
	}

	public static void main(String[] args) {

		DecryptionUtil d = new DecryptionUtil();

		System.out.println(d.renameFile("C:\\Users\\zen\\Desktop\\test\\test", "\\w+|(\\w+\\.java$)"));

	}
}
